package fr.upstlse.glre.client.widgets.modelData;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import com.extjs.gxt.ui.client.data.BaseModelData;
import com.extjs.gxt.ui.client.data.ModelData;

import fr.upstlse.glre.client.constante.fields.LibelleConstante;
import fr.upstlse.glre.client.vo.depot.LibelleVOGWT;

public class LibelleModelData extends BaseModelData {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -8491785748554508418L;

	public LibelleModelData(LibelleVOGWT pLibelleVOGWT) {
		set(LibelleConstante.MODELDATA_ID.getValue(), pLibelleVOGWT.getId());
		set(LibelleConstante.MODELDATA_INTITULE.getValue(), pLibelleVOGWT.getIntitule());
	}
	
	public LibelleModelData(ModelData pModelData) {
		set(LibelleConstante.MODELDATA_ID.getValue(), pModelData.get(LibelleConstante.MODELDATA_ID.getValue()));
		set(LibelleConstante.MODELDATA_INTITULE.getValue(), pModelData.get(LibelleConstante.MODELDATA_INTITULE.getValue()));
	}
	
	public static List<LibelleModelData> toLibelleModelDatas(Collection<LibelleVOGWT> pLibelleVOGWTs) {
		ArrayList<LibelleModelData> lLibelleModelDatas = new ArrayList<LibelleModelData>(pLibelleVOGWTs.size());
		for(LibelleVOGWT lLibelleVOGWT : pLibelleVOGWTs) {
			LibelleModelData lLibelleModelData = new LibelleModelData(lLibelleVOGWT);
			lLibelleModelDatas.add(lLibelleModelData);
		}
		
		return lLibelleModelDatas;
	}
	
	public LibelleVOGWT toLibelleVOGWT() {
		LibelleVOGWT lLibelleVOGWT = new LibelleVOGWT();
		lLibelleVOGWT.setId(((Long) get(LibelleConstante.MODELDATA_ID.getValue())));
		lLibelleVOGWT.setIntitule((String) get(LibelleConstante.MODELDATA_INTITULE.getValue()));
		return lLibelleVOGWT;
	}
}
